object BigDataMkSix {
  /**
   *
   * @param emptyBottle 空瓶数量
   * @param bottleCap 瓶盖数量
   * @param sumBottle 可以换到的总瓶数
   */
  def changeBottle(emptyBottle:Int,bottleCap:Int,sumBottle:Int): Int ={
    if (emptyBottle < 3 && bottleCap < 5){
      return sumBottle;
    }

//    空瓶可以换到的啤酒数
    val emptyBottle2Beer  = emptyBottle / 3;
//    空瓶换完啤酒剩下的数量
    val rBottle = emptyBottle % 3;
//    瓶盖可以换到的啤酒数量
    val bottleCap2Beer = bottleCap / 5;
//    瓶盖换完啤酒后剩下的数量
    val rBottleCap = bottleCap % 5;
    changeBottle(emptyBottle2Beer+rBottle+bottleCap2Beer,emptyBottle2Beer+bottleCap2Beer+rBottleCap,emptyBottle2Beer+bottleCap2Beer+sumBottle);
  }

  def main(args: Array[String]): Unit = {
//100元直接可以买到的啤酒数
    val num = 100/2;
//    总共可以换到的啤酒数
    val sum = changeBottle(num,num,0) + num;
    println(s"总共可以换到$sum 瓶啤酒")
  }
}